<?php namespace Home\Controller; 

use Common\Model\Article;
use Common\Model\ArcTag;
use Common\Model\Category;
use Common\Model\Tag;

/**
 * 列表首页控制器
 */
 
 class ListsController extends CommonController{
 	
//	构造函数
		public function __init(){
			
//			继承父级
			parent::__init();
			
		}
		
//	首页
		public function index(){
//			获取分类表cid参数
			$cid=Q('get.cid',0,'intval');
//			获取标签表tic参数
			$tid=Q('get.tid',0,'intval');
//			echo 1;die;
//			文章模型
			$arcModel=new Article;
//			分类模型
			$categoryModel=new Category;
//			文章标签中间表模型
			$arcTagModel=new ArcTag;
//			点击是分类
			if($cid){
//				获取顶部title信息
				$headData=array(
//					分类的名字	pluck显示对应字段里面一条信息//pluck/是一个字段中的一个值
					'typeName'=>$categoryModel->where('cid',$cid)->pluck('cname'),
//					文章数量
					'arcNum'=>$arcModel->where("category_cid={$cid} AND is_recycle=0")->count(),
					'type'=>'分类'
				
				);
//				组合文章内容数据
//				在我查询的分类中的文章
//				获取子集
				$allData=$categoryModel->get();
//				获取子集
				$cids=$categoryModel->getSon($allData,$cid);
//				压入自己、
				$cids[]=$cid;
//				以逗号分割转换字符串
				$str=implode(',', $cids);

				$data=$arcModel->join('category','category_cid','=','cid')->where("category_cid IN (".$str.") AND is_recycle=0")->orderBy('sendtime','DESC')->get();
//				文章表，分类表，标签的中间表
//				把标签压入

				foreach($data as $k=>$v){
					$data[$k]['tag']=$arcTagModel->join('tag','tag_tid','=','tid')->where('article_aid',$v['aid'])->lists('tid,tname');

				}
				
			}
//			如果点击的标签
			if($tid){

				$tagModel=new Tag;
//				头部
				$headData=array(
//				标签名称
//pluck/是一个字段中的一个值
//lists/一个字段的所有值
//					标签表的名字	pluck显示对应字段里面一条信息//pluck/是一个字段中的一个值
				'typeName'=>$tagModel->where('tid',$tid)->pluck('tname'),
//				标签对应的文章数量
				'arcNum'=>$arcModel->join('article_tag','aid','=','article_aid')->where("tag_tid={$tid} AND is_recycle=0")->count(),
//				类型
				'type'=>'标签'				
				
				);
//			p($headData);die;
			
//				获取标签对应的所有文章的id
				$aids=$arcTagModel->where('tag_tid',$tid)->lisit('article_aid');
//				获取文章
				if($aids){
					$dtaa=$arcModel->join('category','category_cid','=','cid')->where("aid IN (".implode(',', $aids)." is_recycle=0)")->orderBy('sendtime','DESC')->get();
					
				}else{
					$data=array();
				}
//				压入标签内容
				foreach($data as $k=>$v){
					$data[$k]['tag']=$arcTagNodel->join('tag','tag_tie','=','tid')->where('article_aid',$v['aid'])->lists('tid,tnama');

				}
				
			}
//echo 1;die;p

//			分配数据
			View::with('headData',$headData);
//						p($headData);die;		
			View::with('data',$data);
//			引入模版
			View::make();
		}
	
 }
 
